package com.msmall.community.vote.service;

import java.util.List;

import com.msmall.base.service.BaseManager;
import com.msmall.community.vote.model.Vote;
import com.msmall.community.vote.model.VoteModule;

public interface VoteManager extends BaseManager<Vote, Long>{

	/**
	 * 添加投票
	 * @param vote
	 * @param userid投票人
	 */
	public void addVote(Vote vote, Long userid);
	
	
	/**
	 * 获得voter对 voted的最近一次在哪个模块的投票信息，可以用来防止刷票
	 * @param voter
	 * @param voted
	 */
	public Vote loadLastVote(Long voter, Long voted, Integer module);
	/**
	 * 从缓存获得旅游达人的投票前10名 ,只有被投票人ID，和受到的投票数量
	 */
	public List<VoteModule> getTravelVote();
	/**
	 * 查看用户在某个模块受到的所有投票数量
	 */
	public Integer loadTotalVote(Long voted, Integer module, Integer types);
	/**
	 * 获得旅游达人的投票前10名 ,只有被投票人ID，和受到的投票数量
	 */
	public List loadTravelVote();
}